home *** CD-ROM | disk | FTP | other *** search
- package com.sun.java.swing;
-
- import java.util.Enumeration;
- import java.util.Hashtable;
-
- class MultiUIDefaults extends UIDefaults {
- private UIDefaults[] tables;
-
- public MultiUIDefaults() {
- this.tables = new UIDefaults[0];
- }
-
- public MultiUIDefaults(UIDefaults[] defaults) {
- this.tables = defaults;
- }
-
- public void clear() {
- super.clear();
-
- for(int i = 0; i < this.tables.length; ++i) {
- UIDefaults table = this.tables[i];
- if (table != null) {
- ((Hashtable)table).clear();
- }
- }
-
- }
-
- public Enumeration elements() {
- Enumeration[] enums = new Enumeration[1 + this.tables.length];
- enums[0] = super.elements();
-
- for(int i = 0; i < this.tables.length; ++i) {
- UIDefaults table = this.tables[i];
- if (table != null) {
- enums[i + 1] = ((Hashtable)table).elements();
- }
- }
-
- return new MultiUIDefaultsEnumerator(enums);
- }
-
- public Object get(Object key) {
- Object value = super.get(key);
- if (value != null) {
- return value;
- } else {
- for(int i = 0; i < this.tables.length; ++i) {
- UIDefaults table = this.tables[i];
- value = table != null ? table.get(key) : null;
- if (value != null) {
- return value;
- }
- }
-
- return null;
- }
- }
-
- public boolean isEmpty() {
- return this.size() == 0;
- }
-
- public Enumeration keys() {
- Enumeration[] enums = new Enumeration[1 + this.tables.length];
- enums[0] = super.keys();
-
- for(int i = 0; i < this.tables.length; ++i) {
- UIDefaults table = this.tables[i];
- if (table != null) {
- enums[i + 1] = ((Hashtable)table).keys();
- }
- }
-
- return new MultiUIDefaultsEnumerator(enums);
- }
-
- public Object remove(Object key) {
- Object value = super.remove(key);
- if (value != null) {
- return value;
- } else {
- for(int i = 0; i < this.tables.length; ++i) {
- UIDefaults table = this.tables[i];
- value = table != null ? ((Hashtable)table).remove(key) : null;
- if (value != null) {
- return value;
- }
- }
-
- return null;
- }
- }
-
- public int size() {
- int n = super.size();
-
- for(int i = 0; i < this.tables.length; ++i) {
- UIDefaults table = this.tables[i];
- n += table != null ? ((Hashtable)table).size() : 0;
- }
-
- return n;
- }
- }
-